<?php

namespace App\Models;

use Dcat\Admin\Traits\HasDateTimeFormatter;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;

class Device extends Model
{
    use HasDateTimeFormatter;

    /**
     * 指定关联的表名（根据实际表名修改）
     * @var string
     */
    protected $table = 'device';

    /**
     * 关联分类表
     * @return BelongsTo
     */
     public function category(): BelongsTo
    {
        return $this->belongsTo(Category::class, 'Category_id', 'id');
    }

    /**
     * 关联位置表
     * @return BelongsTo
     */
    public function place(): BelongsTo
    {
        return $this->belongsTo(Place::class, 'Location_id', 'id');
        // 解释：
        // 第一个参数：关联模型类名
        // 第二个参数：本表外键字段（device.Location）
        // 第三个参数：目标表主键（places.id）
    }


    /**
     * 关联零件表
     * @return HasMany
     */
    public function parts(): HasMany
    {
        return $this->hasMany(Part::class, 'Owning_device', 'id');
        // 解释：
        // 第一个参数：关联模型类名
        // 第二个参数：目标表外键字段（parts.Owning_device）
        // 第三个参数：本表主键（device.id）
    }
}